﻿using System.Collections.Generic;

namespace CalculoPreciosUnitarios.Logica.GestorObject.CotizarArticulos
{
    public class CotizarArticulosCS
    {        
        private string _idArticulo;
        public string IdArticulo
        {
            get
            {
                return this._idArticulo;
            }
            set
            {
                if (this._idArticulo == value)
                {
                    return;
                }
                this._idArticulo = value;
            }
        }

        //cantidad de unidades del Articulo
        private int _cantidadArticulos;
        public int CantidadArticulos
        {
            get
            {
                return this._cantidadArticulos;
            }
            set
            {
                if (this._cantidadArticulos == value)
                {
                    return;
                }
                this._cantidadArticulos = value;
                //if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs("CantidadArticulos"));
            }
        }

        private int _renglon;
        public int Renglon
        {
            get
            {
                return this._renglon;
            }
            set
            {
                if (this._renglon == value)
                {
                    return;
                }
                this._renglon = value;
            }
        }

        private string _idRubro;
        public string IdRubro
        {
            get
            {
                return this._idRubro;
            }
            set
            {
                if (this._idRubro == value)
                {
                    return;
                }
                this._idRubro = value;
            }
        }

        private string _idSubRubro;
        public string IdSubRubro
        {
            get
            {
                return this._idSubRubro;
            }
            set
            {
                if (this._idSubRubro == value)
                {
                    return;
                }
                this._idSubRubro = value;
            }
        }

        //Cantidad de Unidades del SubRubro
        private decimal _cantidad;
        public decimal Cantidad
        {
            get
            {
                return this._cantidad;
            }
            set
            {
                if (this._cantidad == value)
                {
                    return;
                }
                this._cantidad = value;
            }
        }

        private string _idUnidad;
        public string IdUnidad
        {
            get
            {
                return this._idUnidad;
            }
            set
            {
                if (this._idUnidad == value)
                {
                    return;
                }
                this._idUnidad = value;
            }
        }

        private string _descripUnidad;
        public string DescripUnidad
        {
            get
            {
                return this._descripUnidad;
            }
            set
            {
                if (this._descripUnidad == value)
                {
                    return;
                }
                this._descripUnidad = value;
            }
        }

        //esto se agrega para facilitar la presentacion en la
        //cargar de la plantilla.
        private string _descripcionSubRubro;
        public string DescripcionSubRubro
        {
            get
            {
                return this._descripcionSubRubro;
            }
            set
            {
                if (this._descripcionSubRubro == value)
                {
                    return;
                }
                this._descripcionSubRubro = value;
            }
        }

        private decimal _precioSubRubro;
        public decimal PrecioSubRubro
        {
            get
            {
                return this._precioSubRubro;
            }
            set
            {
                if (this._precioSubRubro == value)
                {
                    return;
                }
                this._precioSubRubro = value;
            }
        }

        private decimal _totalCantidadXprecioSubRubro;
        public decimal TotalCantidadXprecioSubRubro
        {
            get
            {
                return this._totalCantidadXprecioSubRubro;
            }
            set
            {
                if (this._totalCantidadXprecioSubRubro == value)
                {
                    return;
                }
                this._totalCantidadXprecioSubRubro = value;
            }
        }

        //-------------------------------------------------------

        public CotizarArticulosCS()
        {
            _idArticulo = "";
            _cantidadArticulos = 0;
            _renglon = 0;
            _idRubro = "";
            _idSubRubro = "";
            _cantidad = 0;
            _idUnidad = "";
        }


    }

    public class MyOrderingCotizarArticulo : IComparer<CotizarArticulosCS>
    {
        public int Compare(CotizarArticulosCS x, CotizarArticulosCS y)
        {
            int compareNro = x.IdArticulo.CompareTo(y.IdArticulo);

            return compareNro;
        }
    }
}
